iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
DevOps

我獨自升級:從水管工走向 DataOps系列 第 18

【Day 18】dbt 專案必備插件 - dbt Power User

  • 分享至 

  • xImage
  •  

前言

建立 Data Pipeline 過程中,常常會需要不同的工具輔助,除了確認資料品質和轉換邏輯,開發效率也會因此提升,像今天要介紹的 dbt Power User 就是在 dbt 專案中的必備插件,除了可以清晰看到不同資料轉換節點的上下游關係,過程中也能直接執行 SQL 看到具體資料內容,但使用前提當然是 vscode,如果是用別的 IDE 在開發,那只能~下面一位~,其實硬要說的話這些功能都可以用其他方式達成,例如生成 dbt docs 確認欄位和上下游,用資料庫工具直接執行 SQL 查看資料,但是全部都整合進 vscode 開發上還是會方便快速許多/images/emoticon/emoticon13.gif

基礎介紹

dbt Power User 是由 altimate.ai 開發的開源插件,專為 dbt(Data Build Tool)使用者設計,主要讓 Visual Studio Code (VS Code) 與 dbt 更好的整合和協作,如果想瞭解最新資訊可以加入 dbt slack 當中的 #tools-dbt-power-user 頻道。
slack 加入連結

https://ithelp.ithome.com.tw/upload/images/20241002/20135427OooZPoTZ4E.png

dbt Power User GitHub 連結

dbt Power User 功能

1. AutoComplete:自動完成關鍵字

在過去的開發經驗上,這算是比較基本的功能,但有時候比較新的服務,像是 dbt 不一定會支援,所以在 dbt Power User 當中就有提供這個功能,以下方為例,就能直接顯示和選擇引用哪一個 model。
https://ithelp.ithome.com.tw/upload/images/20241002/20135427irW8RgIBpG.png

2. data lineage:數據沿襲/血緣,就是上下游關係

  • 可以直接從 vscode 當中看到上下游關係,明確知道目前正在編輯的 model 會影響到哪些表
    https://ithelp.ithome.com.tw/upload/images/20241002/20135427fcAFa9lE1C.png

  • 點擊任一 model 的 Details,也可以看到表的描述和欄位說明
    https://ithelp.ithome.com.tw/upload/images/20241002/20135427KG16HCpRE2.png

3. Query Result : 預覽查詢

能直接執行 model 當中的 sql 語法,查看目前的資料,比較特別的是可以在一段 sql 當中,只選擇想要執行的區塊,按下 command/ctrl + Enter 就可以直接看到執行後的結果。

https://ithelp.ithome.com.tw/upload/images/20241002/20135427FTLHQsBgMS.png

可以設定 query 的 limit,查詢完後續也可以直接在插件中做資料整合和匯出

https://ithelp.ithome.com.tw/upload/images/20241002/20135427zAT3Xnq7XN.png

4. Documentation Editor

可以直接編輯欄位和圖表的敘述,測試也可以用 GUI 點擊新增,其實編輯描述和設定測試的功能在 schema.yml 中也能達成。
https://ithelp.ithome.com.tw/upload/images/20241002/201354273zEWFAmt9P.png

5. 其他需要 API Key 的功能

  1. 將 sql 轉換成 dbt model

像這種較進階的功能就會需要 API key 才能達成,但只需要申請帳戶,mail 的部分不能用免費的,要用公司的 mail,登入之後就能拿到 API key 了。
https://ithelp.ithome.com.tw/upload/images/20241002/20135427REYeyBPX4V.png

  1. 整合語言模型
    裡面有一些功能都比較偏向 LLM,像是用文字敘述生成 SQL,或是自動生成 Model 的描述,還有驗證 SQL 的語法內容並提供說明和建議,大多都需要 API Key 才能使用,這部分和他們的另一產品 Data Pilot 應該是比較接近,可以直接在 vscode 中和他對話。

結語

看來後續要使用 dbt 一定會更方便,就跟使用 chatgpt 一樣,只需要和他聊天,提供資料和結果,就能實作資料轉換,但學習這些基礎架構和 sql 還是蠻必要的,不然中間卡了一步就 GG 了,或是這些語言模型回覆不正確時能否判斷也是很重要的/images/emoticon/emoticon41.gif


上一篇
【Day 17】用 Astronomer Cosmos 結合 dbt 和 Airflow - 再戰 Jaffle Shop
下一篇
【Day 19】Data Pipeline CI / CD - 基礎介紹
系列文
我獨自升級:從水管工走向 DataOps21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言